package ams

import "lib/structs/base"

type Config struct {
	Log       base.Log `yaml:"log"`
	Tcp       base.Tcp `yaml:"tcp"`
	DB        base.DB  `yaml:"db"`
	AppFolder string   `yaml:"appFolder"` // 应用文件夹
}

// PluginForHandsUp 举手信息
type PluginForHandsUp struct {
	MainMd5         string `json:"mainMd5"`
	MainVersion     string `json:"mainVersion"`
	AssetCode       string `json:"assetCode"`
	IP              string `json:"ip"`
	ActiveMAC       string `json:"activeMAC,omitempty"`
	BiosSerial      string `json:"biosSerial"`
	MainBoardSerial string `json:"mainBoardSerial,omitempty"`
	HardDiskSerial  string `json:"hardDiskSerial,omitempty"`
	Hostname        string `json:"hostname"`
}

// PluginForDownLoadFile 更新信息时需要传递给更新插件的文件下载参数
type PluginForDownLoadFile struct {
	FileUri string `json:"fileUri"` // 文件的下载地址
	Target  string `json:"target"`  // 压缩文件的释放路径
	ZipMd5  string `json:"zipMd5"`  // 下载文件的MD5
}

// PluginForUpdate 执行更新操作时需要传递给更新插件的参数
type PluginForUpdate struct {
	FileList      []PluginForDownLoadFile `json:"fileList"`      //文件列表
	RestartServer string                  `json:"restartServer"` // 需要重启的服务名称，名称为空时不需要重启服务。过程为先停止服务，然后下载升级文件，解压替换，然后启动服务.
}
